package Exception;

/**
 * finally块
 * 是异常处理机制中的最后一块，可以直接跟在try语句块之后或者最后一个catch后
 * 可以保证只要程序执行到try块中，无论try块是否出现异常，finally最后都必定执行
 *
 * 通常我们将释放资源这类操作放在这里确保最后一定执行，比如IO中的close
 */
public class FinallyDemo {
    public static void main(String[] args) {
        System.out.println("程序开始了");
        try{
            String line = "";
            //String line = null;
            System.out.println(line.length());
            return;
        } catch(Exception e){
            System.out.println("出错了");
        } finally {
            System.out.println("finally中的代码执行了");
        }
        //不管catch捕不捕获,不管try里出不出错,return执行了,finally代码一定执行
        System.out.println("程序结束了");
    }
}
